package com.yang.mall.product;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/*
整合mybatis-plus
1.导入依赖
2.配置
	1.配置数据源：
		1.导入数据库驱动
		2.配置数据源
			1)导入数据库驱动
			2)在application.yml配置数据源相关信息
	2.配置mybatis-plus
		1.使用MapperScan
		2.告诉MybatisPlus sql映射文件位置
3. 使用逻辑删除
	1.参考mybatis-plus 官方文档
4.使用JSR303校验
	1.给Bean添加校验注解   javax.validation.constraints,并定义自己的message提示
	2.开启校验功能@Valid
		效果：校验错误后会有默认的相应
	3.给校验的bean后紧跟一个bindingreResult，就可以得到校验的结果
4.统一的异常处理
@ControllerAdvice
	1.编写异常处理类，使用@ControllerAdvice
	2.使用@Exceptionhandler标注可以处理的异常
	3.分组校验
5.
## 自定义校验

1. 编写一个校验注解

2. 编写一个自定义校验器

   ```java
   ConstraintValidator
   ```

3. 关联自定义的校验器和校验注解

```java
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.TYPE_USE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(
        validatedBy = {ListValueConstraintValidator.class,[可以指定不同的校验器，适配不同类型的校验]}
)
```
 */
@EnableDiscoveryClient	//开启服务的注册发现功能
@MapperScan("com.yang.mall.product.dao")
@SpringBootApplication
public class ProductApplication {

	public static void main(String[] args) {
		SpringApplication.run(ProductApplication.class, args);
	}

}
